From 024ce79aea88be56dae38cf54e054e6d354bb585 Mon Sep 17 00:00:00 2001 From: Keir Fraser Date: Thu, 25 Mar 2010 10:01:05 +0000 Subject: [PATCH] VT-d: should not disable VT-d when find unknown DMAR structure type Now 4 DMAR structure types are supported (type value 0 ~ 3). Type values > 3 are reserved for future use. Current implementation disables VT-d when find unknown DMAR structure type, this may lead to VT-d disabling on future platforms before supporting new types on Xen. For forward compatibility, just skip unknown structures by skipping the appropriate number of bytes indicated by the Length field, and then VT-d still can be used. Signed-off-by: Weidong Han --- xen/drivers/passthrough/vtd/dmar.c | 1 - 1 file changed, 1 deletion(-) diff --git a/xen/drivers/passthrough/vtd/dmar.c b/xen/drivers/passthrough/vtd/dmar.c index 310a66da3e..a20f76a574 100644 --- a/xen/drivers/passthrough/vtd/dmar.c +++ b/xen/drivers/passthrough/vtd/dmar.c @@ -713,7 +713,6 @@ static int __init acpi_parse_dmar(struct acpi_table_header *table) dprintk(XENLOG_WARNING VTDPREFIX, "Unknown DMAR structure type %x\n", entry_header->type); - ret = -EINVAL; break; } if ( ret ) -- 2.30.2